package br.com.ia.model;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import br.com.enovar.trex.core.model.BaseModel;

@Entity
@Table(name = "variavel")
@SequenceGenerator(name = "SEQ_VARIAVEL", sequenceName = "SEQ_VARIAVEL")
public class Variavel extends BaseModel {

	private Integer codigo;

	private String descricao;
	
	private String flagObjetiva;
	
	private List<Valor> valores;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "SEQ_VARIAVEL")
	@Column(name = "cd_variavel")
	public Integer getCodigo() {
		return codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	@Column(name="ds_variavel")
	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	@OneToMany
	@JoinTable(
	name="valor_variavel",
	joinColumns = { @JoinColumn( name="cd_variavel") },
	inverseJoinColumns = {@JoinColumn( name="cd_valor")}
	)
	public List<Valor> getValores() {
		return valores;
	}

	public void setValores(List<Valor> valores) {
		this.valores = valores;
	}

	@Column(name = "fl_objetivo")
	public String getFlagObjetiva() {
		return flagObjetiva;
	}

	public void setFlagObjetiva(String flagObjetiva) {
		this.flagObjetiva = flagObjetiva;
	}
	
}
